== Scientific and Array Based Languages ==

=== <u>Matlab</u> ===
* Matlab: A Practical Introduction to Programming and Problem Solving by Attaway
* MATLAB Guide by Desmond Higham and Nicholas Higham
* [http://www.mathworks.com/moler/chapters.html Numerical Computing with MATLAB] by Moler

=== <u>Fortran</u> ===
* Fortran 95/2003 for Scientists & Engineers by Chapman
* Guide to Fortran 2008 Programming by Brainerd
* Modern Fortran Explained by Metcalf, Reid, and Cohen (or the older Fortran 95/2003 Explained)
* Modern Fortran in Practice by Markus

=== <u>J</u> ===
* [http://www.jsoftware.com/help/learning/contents.htm Learning J: An Introduction to the J Programming Language by Stokes]
* J for C Programmers by Rich

== General Purpose Languages ==

=== <u>C++</u> ===
* Programming: Principles and Practice Using C++ by Stroustrup
* C++ Primer by Lippman, Lajoie, and Moo
* Discovering Modern C++: An Intensive Course for Scientists, Engineers, and Programmers by Gottschling
* The C++ Standard Library: A Tutorial and Reference by Josuttis
* The C++ Programming Language by Stroustrup

=== <u>C</u> ===
[https://www.youtube.com/watch?v=KlPC3O1DVcg Why The Programming Language C Is Obsolete]
* C Programming: A Modern Approach By King
* [http://icube-icps.unistra.fr/img_auth.php/d/db/ModernC.pdf Modern C by Jens Gustedt]
* C Programming Language by Kernighan and Ritchie
* The C Standard Library by Plauger
* Expert C Programming: Deep C Secrets By Linden

== Scripting Languages ==

=== <u>Lua</u> ===
* Programming in Lua by Ierusalimschy <sup>[https://www.lua.org/pil/contents.html <nowiki>[First edition]</nowiki>]</sup>
* Lua Programming Gems by de Figueiredo, Celes, Ierusalimschy

=== <u>Python</u> ===
On Windows, the easiest way to install Python along with the common libraries like NumPy, SciPy, Sympy, Matplotlib, and Pandas and IDEs like IPython (Notebook similar to Maple or Mathematica's notebooks) and Spyder (similar to Matlab's IDE) is to use [https://winpython.github.io/ WinPython].
* "[http://www.greenteapress.com/thinkpython/ Think Python]: How to Think Like a Computer Scientist" and "[http://www.greenteapress.com/complexity/index.html Think Complexity]" by Downey
* A Primer on Scientific Programming with Python by Langtangen <sup>[https://hplgit.github.io/scipro-primer/ <nowiki>[Website]</nowiki>]</sup>
* [https://automatetheboringstuff.com/ Automate the Boring Stuff with Python: Practical Programming for Total Beginners] by Al Sweigart
* Python Scripting for Computational Science by Langtangen <sup>[https://web.archive.org/web/20170209231817/http://folk.uio.no/hpl/scripting/ <nowiki>[Website]</nowiki>]</sup>
References
* Learning SciPy for Numerical and Scientific Computing by Rojas G., Christensen, and Blanco-Silva
* IPython Interactive Computing and Visualization Cookbook by Rossant
* Python Essential Reference by Beazley

== Stack-Oriented Languages ==

=== <u>Forth</u> ===
* [http://www.forth.com/starting-forth/index.html Starting Forth by Brodie]
* Forth Application Techniques by Rather
* Forth Programmer's Handbook by Conklin and Rather
* Thinking Forth by Brodie

== Functional Languages ==

=== <u>Lisp/Scheme/Racket</u> ===
* [https://htdp.org/ How to Design Programs: An Introduction to Programming and Computing] by Felleisen, Findler, Flatt, and Krishnamurthi
* "The Little Schemer" and "The Seasoned Schemer" by Friedman and Felleisen
* [https://www.scheme.com/tspl4/ The Scheme Programming Language] by Dybvig
*[https://docs.racket-lang.org/guide/ The Racket Guide] by Flatt and Findler
*[https://cloudflare-ipfs.com/ipfs/QmQ3C4ooSCmBMuK7mKq4sqVAfGq9y5EJpWNGVTQzC1FRms?filename=sicp.pdf Structure and Interpretation of Computer Programs] by Abelson, G. J. Sussman, and J. Sussman <br />

=== <u>Haskell</u> ===
* Programming in Haskell by Hutton
* Haskell: The Craft of Functional Programming by Thompson
* [https://book.realworldhaskell.org/read/ Real World Haskell] by O'Sullivan, Stewart, and Goerzen
* [https://www.oreilly.com/library/view/parallel-and-concurrent/9781449335939/ Parallel and Concurrent Programming in Haskell] by Marlow

=== <u>Standard ML</u> ===
* [http://www.cs.cmu.edu/~rwh/smlbook/ Programming in Standard ML] by Harper
* ML for the Working Programmer by Paulson <sup>[http://www.cl.cam.ac.uk/~lp15/MLbook/ <nowiki>[Errata]</nowiki>]</sup>
* Concurrent Programming in ML by Reppy

=== <u>OCaml</u> ===
* "OCaml from the Very Beginning" and "More OCaml: Algorithms, Methods, and Diversions" by Whitington <sup>[http://ocaml-book.com <nowiki>[Errata]</nowiki>]</sup>
* [https://realworldocaml.org/ Real World OCaml: Functional Programming for the Masses] by Minsky, Madhavapeddy, and Hickey
* [http://caml.inria.fr/pub/docs/oreilly-book/ Developing Applications with Objective Caml] by Chailloux, Manoury and Pagano
* [http://pauillac.inria.fr/~remy/cours/appsem/ Using, Understanding, and Unraveling The OCaml Language: From Practice to Theory and vice versa] by Rémy

== Logic Languages ==

=== <u>Prolog</u> ===
* Programming in Prolog by Clocksin and Mellish
* Prolog Programming for Artificial Intelligence by Bratko
* [https://mitpress.mit.edu/9780262691635/the-art-of-prolog/ The Art of Prolog: Advanced Programming Techniques] by Sterling and Shapiro
* The Practice of Prolog by Sterling
* The Craft of Prolog by O'Keefe
